package data_structs;

import util.ModInt;

public class Hit {
	
	public int id;
//	public int offset;
//	public int query;
	
	public short offset;
	public short query;
	
//	public byte offfset;
//	public byte queryy;
	
	public Hit(int id, int offset, int query) {
		this.id = id;
		this.offset = (short) offset;
		this.query = (short) query;
		
//		String binValOffset = "";
//		String binValQuery = "";
//		binValOffset = ModInt.convertToString(offset,8);
//		binValQuery = ModInt.convertToString(query,8);
//		if( binValOffset.charAt(0) == '1' ) {
//			binValOffset = ModInt.flipBits(binValOffset);
//			binValOffset = "-"+binValOffset;
//		}
//		if( binValQuery.charAt(0) == '1' ) {
//			binValQuery = ModInt.flipBits(binValQuery);
//			binValQuery = "-"+binValQuery;
//		}
//		offfset = Byte.parseByte(binValOffset, 2);
//		queryy = Byte.parseByte(binValQuery, 2);
	}
	
	public int getID() {
		return id;
	}
	
	public int getShift() {
		return offset-query;
//		return getOffset()-getQuery();		
	}
	
	public int getOffset() {
		return offset;
//		String val = Integer.toString(offfset,2);
//		System.out.println("real value of offset="+offfset+"  tostring of offset="+val);
		
//		if( offfset < 0 ) val = val.substring(1);
//		while( val.length() < 8 ) val = "0"+val;
//		if( offfset < 0 ) val = ModInt.flipBits(val);
//
//		return Integer.parseInt(val, 2);
	}
	
	public int getQuery() {
		return query;
//		String val = Integer.toString(queryy,2);
//		
//		if( queryy < 0 ) val = val.substring(1);
//		while( val.length() < 8 ) val = "0"+val;
//		if( queryy < 0 ) val = ModInt.flipBits(val);
//		
//		return Integer.parseInt(val, 2);
	}
	
//	public String getInfo() {
//		return "Offset:"+offfset+", Query:"+queryy;
//	}
	
}//End Hit class
